Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт
Предмет:
Методи та засоби криптографічних перетворень
Група:
ІБ – 44

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ № 1 З КУРСУ “ Методи та засоби криптологічних перетворень” ШИФР ЗСУВУ Мета роботи: Написати программу для шифрування методом pcede забезпечення введеня стрічки і ключа з клавіатури і виведення шифрованої і дешифрованої стрічки на екран Змінні і константи використані в программі : LOWER – нижня межа в латинниці UPPER – верхня межа в латинниці ALPHABET – довжина алфавіту FILE_NAME – назву файлу з шифрованою строкою ARRAY_SIZE – довжина стрічки для шифрування і – лічильник циклу move – зсув cryptedString – шиврована стрічка decryptedSrting – дешифрована стрічка Блок схема:  Текст программи #include <iostream> #include <stdio.h> #define LOWER 97 #define UPPER 122 #define ALPHABET_LENGHT 26 #define FILE_NAME "crypt.txt" #define ARRAY_SIZE 100 using namespace std; //Convert word to lower case void convertToLittleWord(char *str) { for(int i = 0; str[i] != '\0'; i++) { str[i] = tolower(str[i]); } } //Save string to file void saveCryptedString(char str[]) { FILE *fp; if( (fp = fopen(FILE_NAME, "w")) == NULL) { cout << "Error opening file " << FILE_NAME << endl; exit(1); } else { fputs( str, fp ); fclose( fp ); } } //Read string from file void loadCryptedString(char *cryprStr) { FILE *fp; if( (fp = fopen(FILE_NAME, "r")) == NULL) { cout << "Error opening file " << FILE_NAME << endl; exit(1); } else { fgets( cryprStr, ARRAY_SIZE , fp ); } } // Crypt string void Crypt(char *str, int move ) { convertToLittleWord(str); for(int i = 0; str[i] != '\0'; i++) { int charPosWithMove = (int)str[i] + move; if(UPPER < charPosWithMove) { charPosWithMove = charPosWithMove - ALPHABET_LENGHT; } str[i] = (char)charPosWithMove; } saveCryptedString(str); } //Decrypt string void Decrypt(char *str, int move ) { loadCryptedString(str); for(int i = 0; str[i] != '\0'; i++) { int charPosWithMove = (int)str[i] - move; if(charPosWithMove < LOWER) { charPosWithMove = charPosWithMove + ALPHABET_LENGHT; } str[i] = (char)charPosWithMove; } } void main() { char cryptString[ARRAY_SIZE]; int move; cout << "Enter string to crypt"<< endl; cin.get(cryptString, ARRAY_SIZE); cout << "Enter move"<< endl; cin >> move; Crypt(cryptString, move); cout << cryptString << endl; cout << "Push to decrypt" << endl; system("Pause"); cout << "Decrypt String" << endl; char decryptString[ARRAY_SIZE]; Decrypt(decryptString, move); cout << decryptString << endl; } Результат :  Висновок: в данній роботі я створив программу на мові С для шифрування і дешифрування тексту методом зсуву.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини